package com.regulareport.form.mapper;

import com.regulareport.common.core.domain.entity.ReportCellDefinition;
import com.regulareport.form.domain.ReportVerificationConfig;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 校验配置Mapper接口
 * 
 * @author
 * @date 2025-10-08
 */
public interface ReportVerificationConfigMapper 
{
    /**
     * 查询校验配置
     * 
     * @param pkId 校验配置主键
     * @return 校验配置
     */
    public ReportVerificationConfig selectReportVerificationConfigByPkId(Long pkId);

    /**
     * 查询校验配置列表
     * 
     * @param reportVerificationConfig 校验配置
     * @return 校验配置集合
     */
    public List<ReportVerificationConfig> selectReportVerificationConfigList(ReportVerificationConfig reportVerificationConfig);

    /**
     * 新增校验配置
     * 
     * @param reportVerificationConfig 校验配置
     * @return 结果
     */
    public int insertReportVerificationConfig(ReportVerificationConfig reportVerificationConfig);

    /**
     * 修改校验配置
     * 
     * @param reportVerificationConfig 校验配置
     * @return 结果
     */
    public int updateReportVerificationConfig(ReportVerificationConfig reportVerificationConfig);

    /**
     * 删除校验配置
     * 
     * @param pkId 校验配置主键
     * @return 结果
     */
    public int deleteReportVerificationConfigByPkId(Long pkId);

    /**
     * 批量删除校验配置
     * 
     * @param pkIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteReportVerificationConfigByPkIds(Long[] pkIds);


    public int batchInsertReportVerificationConfig(List<ReportVerificationConfig> reportVerificationConfigList);

    /**
     * 查询校验配置列表
     *
     * @param  pkIds 需要删除的数据主键集合
     * @return 校验配置集合
     */
    public List<ReportVerificationConfig> selectVerificationConfigListByPkIds(Long[] pkIds);

    public List<ReportVerificationConfig> selectVerificationConfigListByReportFormNoEdition(@Param("reportFormId") String reportFormId, @Param("reportFormNo") String reportFormNo);

}
